1
using System
.Collections
;
2 using System
.Collections
.Generic
;
5 using UnityEngine
.SceneManagement
;
6 using UnityEngine
.Audio
;
9 public class MenuManager
: MonoBehaviour
{
12 public AudioMixer masterMixer
;
14 private AudioSource
[] menuSound
;
15 private AudioSource menuMusic
;
16 private AudioSource menuSel
;
17 private Scene m_Scene
;
18 private GameObject
[] menuManagers
;
20 private float timestamp
;
21 private float musicFadeTimer
;
22 private bool fadeMusic
;
23 private bool isMaster
;
27 menuSound
= GetComponents
<AudioSource
> ();
28 menuMusic
= menuSound
[0];
29 menuSel
= menuSound
[1];
30 m_Scene
= SceneManager
.GetActiveScene ();
31 DontDestroyOnLoad (menuSel
);
34 menuManagers
= GameObject
.FindGameObjectsWithTag ("MenuManager");
35 //creates a singleton style MenuManager
36 if (m_Scene
.name
== "MainMenu" && menuManagers
.Length
== 1) {
37 DontDestroyOnLoad (this.gameObject
);
38 DontDestroyOnLoad (menuMusic
);
51 menuMusic
.volume
= menuMusic
.volume
- 0.025f
;
52 if (Time
.time
- timestamp
> musicFadeTimer
) {
60 public void GoToMainMenu()
63 SceneManager
.LoadScene ("MainMenu");
66 public void GoToCharacterSelection()
69 SceneManager
.LoadScene ("CharacterSelection");
72 public void GoToLevelSelection()
75 SceneManager
.LoadScene("LevelSelection");
78 public void GoToLevel0()
81 SceneManager
.LoadScene("Level0");
84 public void GoToLevel1()
87 SceneManager
.LoadScene("Level1");
90 public void GoToLevel2()
93 SceneManager
.LoadScene("Level2");
96 public void GoToSettings()
99 SceneManager
.LoadScene("Settings");
102 public void GoToInstructions()
105 SceneManager
.LoadScene("Instructions");
108 public void GoToCredits()
111 SceneManager
.LoadScene("Credits");
115 public void ExitGame()
120 public void UpdateMasterValue(Slider slider
)
122 masterMixer
.SetFloat("MasterLevel", slider
.value);
126 public void UpdateAmbientValue(Slider slider
)
128 masterMixer
.SetFloat("AmbientLevel", slider
.value);
132 public void UpdateSFXValue(Slider slider
)
134 masterMixer
.SetFloat("SFXLevel", slider
.value);
138 public void StartMenuMusic()
140 menuMusic
.volume
= 1f
;
144 public void PlayMenuSel(){
148 public bool IsMaster()
153 public void StopMenuMusic()
156 timestamp
= Time
.time
;
157 musicFadeTimer
= 1.5f
;
160 public bool IsMenuMusicPlaying()
162 return menuMusic
.isPlaying
;